iT邦幫忙

2

【JavaScript】==和===

  • 分享至 

  • xImage
  •  

【前言】
本系列為個人前端學習之路的學習筆記,在過往的學習過程中累積了很多筆記,如今想藉著IT邦幫忙這個平台做整理+再複習。
本系列標題一律以【】標示該篇文章主要涉及的內容,例如【JavaScript】、【Vue】等等。
若內容有誤,還麻煩各路大神不吝於點出問題,感激不敬。


在JavaScript的世界中,使用=(賦值運算子)來賦值
而==和===則是比較運算子
顧名思義,使用比較運算子時代表我們要去比較
同時,它會回傳一個結果的值給我們

var a = 1;
var b = 2;
console.log(a == b); //回傳false

在這個案例中,我們使用了==來比較a和b相不相等,結果回傳是false

==和===

==是所謂的寬鬆相等,而===則可以想成是嚴謹模式
兩者的用途一樣,即比較左右的運算元,並回傳一個值(白話來說就是判斷左右兩邊是否相等)
不過==和===的判斷規則有所不同
因為在JavaScript的世界中,會遇到這樣的情況:

console.log(1 == true); //true

這時候==會跟你說1和true是相等的,這是因為JavaScript會幫你進行型別轉換
此時的true被自動轉型成1,因此1 == 1回傳就會是true了

類似的案例相當多,例如:

console.log([] == 0); //true

甚至還可以找到關於自動轉型的各種梗圖XD

而為了避免這種情況,===就派得上用場啦
===,概念有點像是嚴謹模式,除了內容之外型別也要相等才會回傳true

console.log(1 === true); //false

!=和!==

有等於就有不等於
!=和!==就是相對於==和===,前者是寬鬆不等於,後者是嚴謹的不等於

console.log(true != 1); //false
console.log(true !== 1); //true

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言